php怎么替换字符串中的所有字符-天天热闻

来源:php中文网 | 2022-10-14 19:05:05 |

php入门到就业线上直播课:进入学习Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑


(资料图片仅供参考)

方法1:利用substr_replace()函数

substr_replace() 函数把字符串的一部分替换为另一个字符串。

substr_replace(string,replacement,start,length)

substr_replace() 在字符串 string 的副本中将由 start 和可选的 length 参数限定的子字符串使用 replacement 进行替换。

如果 start 为正数,替换将从 string 的 start 位置开始。如果 start 为负数,替换将从 string 的倒数第 start 个位置开始。

如果设定了 length 参数并且为正数,就表示 string 中被替换的子字符串的长度。如果设定为负数,就表示待替换的子字符串结尾处距离 string 末端的字符个数。如果没有提供此参数,那么默认为 strlen(string)(字符串的长度)。当然,如果 length 为 0,那么这个函数的功能为将 replacement 插入 string 的 start 位置处。

参数描述
string必需。规定要检查的字符串。
replacement必需。规定要插入的字符串。
start必需。规定在字符串的何处开始替换。正数 - 在字符串的指定位置开始负数 - 在从字符串结尾的指定位置开始0 - 在字符串中的第一个字符处开始
length可选。规定要替换多少个字符。默认是与字符串长度相同。正数 - 被替换的字符串长度负数 - 从字符串末端开始的被替换字符数0 - 插入而非替换

示例:替换字符串中的所有字符

只需要将该函数的第三个参数设置为0,第三个参数设置为原字符串长度或省略即可替换全部字符

<?phpheader("content-type:text/html;charset=utf-8");   $str = "hello world!";echo "原字符串:".$str."<br><br>";$replace = "ABCDEFGHIJKL";echo "替换全部字符字符:".substr_replace($str, $replace,0)."<br>";?>

方法2/方法3:str_ireplace() 和 str_replace() 函数

str_ireplace() 和 str_replace 都使用新的字符串替换原来字符串中指定的子字符串,如果需要替换的子串就是原字符串,则可替换原字符串中的所有字符。

str_ireplace() 和 str_replace的语法是相似的,区别在于str_replace 区分大小写,str_ireplace() 不区分大小写

str_replace(find,replace,string,count)str_ireplace(find,replace,string,count)
参数描述
find必需。规定要查找的值。
replace必需。规定替换 find中的值的值。
string必需。规定被搜索的字符串。
count可选。对替换数进行计数的变量。

示例:替换字符串中的所有字符

只需要将第一个参数设置为原字符串值即可。

<?phpheader("content-type:text/html;charset=utf-8");   $str = "hello world!";echo "原字符串:".$str."<br><br>";$replace = "ABCDEFGHIJKL";echo "替换全部字符字符:".str_replace($str, $replace, $str)."<br>";echo "替换全部字符字符:".str_ireplace($str, $replace, $str)."<br>";?>

扩展知识:替换字符串还可利用正则替换函数preg_replace() 和preg_filter()

preg_replace() 和preg_filter()函数都可以执行正则表达式的搜索和替换,不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。

preg_replace() 和preg_filter()函数的语法类似:

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])preg_filter($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

搜索 $subject 中匹配 $pattern 的部分, 以 $replacement 进行替换。

参数说明如下:

$pattern:要搜索的模式,可以使一个字符串或字符串数组;

$replacement:用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且 $pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果 $pattern 和 $replacement 都是数组,每个 $pattern 使用 $replacement 中对应的元素进行替换。如果 $replacement 中的元素比 $pattern 中的少,多出来的 $pattern 使用空字符串进行替换。

$subject:要进行搜索和替换的字符串或字符串数组,如果 $subject 是一个数组,搜索和替换回在 $subject 的每一个元素上进行, 并且返回值也会是一个数组。

$limit:可选参数,每个模式在每个 $subject 上进行替换的最大次数。默认是 -1(无限)。

$count:可选参数,如果指定,将会被填充为完成的替换次数。

示例:

preg_filter()和preg_replace()利用正则来替换字符串

<?phpheader("content-type:text/html;charset=utf-8");$subject = array("1", "a", "2", "b", "3", "A", "B", "4"); $pattern = array("/\d/", "/[a-z]/", "/[1a]/"); $replace = array("A:$0", "B:$0", "C:$0");  echo "preg_filter 返回值:\n";var_dump(preg_filter($pattern, $replace, $subject));  echo "preg_replace 返回值:\n";var_dump(preg_replace($pattern, $replace, $subject)); ?>

推荐学习:《PHP视频教程》

以上就是php怎么替换字符串中的所有字符的详细内容,更多请关注php中文网其它相关文章!

关键词: php字符串